{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "59770483",
   "metadata": {},
   "source": [
    "-----\n",
    "* 日期：2022-9-21\n",
    "* 课程：python\n",
    "* 记录人：杨静雯\n",
    "-----"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7f26a2d2",
   "metadata": {},
   "source": [
    "# 本周学习内容\n",
    "> 1.数值（number）\n",
    ">> 1.定义\n",
    ">> 2.方法\n",
    "\n",
    "> 2.字符串（string）\n",
    ">> 1.定义\n",
    ">> 2.方法"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d73680df",
   "metadata": {},
   "source": [
    "## 1.数值\n",
    "\n",
    "> 1.对数值的分类\n",
    ">> 1.整数（int）\n",
    ">> 2.浮点型（float）\n",
    ">> 3.复数（complex）\n",
    "> 2.对数值的运算法则"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "58f07ce3",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "99 <class 'int'>\n"
     ]
    }
   ],
   "source": [
    "# 整型\n",
    "a=99\n",
    "print(a,type(a))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "1df3aea6",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "99.9 <class 'float'>\n"
     ]
    }
   ],
   "source": [
    "# 浮点型  自动定义类型\n",
    "b=99.9\n",
    "print(b,type(b))  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "44de35d7",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "198.9 <class 'float'>\n"
     ]
    }
   ],
   "source": [
    "c = a + b\n",
    "print(c,type(c))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "88ac6044",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(2+3j) <class 'complex'>\n"
     ]
    }
   ],
   "source": [
    "# 复数(虚数)\n",
    "d=2+3j\n",
    "print(d,type(d))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "74b717fd",
   "metadata": {},
   "source": [
    "# 字符串（string）\n",
    "\n",
    "> 1.定义  \n",
    "> 2.方法"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "9c040113",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Alex <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "name= 'Alex'\n",
    "print(name,type(name))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3beb3e4d",
   "metadata": {},
   "outputs": [],
   "source": [
    "a='18'\n",
    "b='22'\n",
    "a*b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "b00ea9f1",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "18 18\n",
      "<class 'int'> <class 'str'>\n"
     ]
    }
   ],
   "source": [
    "a=18\n",
    "b='18'\n",
    "print(a,b)\n",
    "print(type(a),type(b))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "8c8aeafb",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "invalid character '’' (U+2019) (2739506260.py, line 2)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [16]\u001b[1;36m\u001b[0m\n\u001b[1;33m    ’dosen't'\u001b[0m\n\u001b[1;37m    ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid character '’' (U+2019)\n"
     ]
    }
   ],
   "source": [
    "# 关于单引号和双引号\n",
    "’dosen't'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "8c408752",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"dosen't\""
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 解决方案1\n",
    "\"dosen't\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "f82d8082",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 解决方案2 \\ 斜杠后面的内容是“符号”，转义，\\ 自动消失\n",
    "'dosen\\'t'"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2886258f",
   "metadata": {},
   "source": [
    " * 正则表达式，有兴趣的同学可以自学"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "a83e09ad",
   "metadata": {},
   "outputs": [
    {
     "ename": "SyntaxError",
     "evalue": "EOL while scanning string literal (2693316446.py, line 1)",
     "output_type": "error",
     "traceback": [
      "\u001b[1;36m  Input \u001b[1;32mIn [18]\u001b[1;36m\u001b[0m\n\u001b[1;33m    \"hello\u001b[0m\n\u001b[1;37m          ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m EOL while scanning string literal\n"
     ]
    }
   ],
   "source": [
    "\"hello\n",
    "world\n",
    "\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "867912e5",
   "metadata": {},
   "source": [
    "# 三引号：可以包含任何文本      \"\"\"......\"\"\"\n",
    "-----\n",
    "* 作用：\n",
    "\n",
    "> 1.保持原数据的结构，包含符号，换行等   \n",
    "> 2.可以用来做代码注释\n",
    "NFU_招投标_HTML = \"\"\"\n",
    "<ul class=\"tzgg-div\" style=\"display: block;\">\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li class=\"tzgg-nr\">\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"tzgg-time\">\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"ztb/a400b894512f4cb7a1c55a8872a2b5f5.htm\">\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i>›</i>\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<span>09-13</span>\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t</a>\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t</p>\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t<p class=\"tzgg-p\">\n",
    "\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"ztb/a400b894512f4cb7a1c55a8872a2b5f5.htm\">            广州南方学院智能供应链实验室建设项目竞争性磋商公告... \n",
    "    </a>\n",
    "\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "41fd5f22",
   "metadata": {},
   "outputs": [],
   "source": [
    "print(NFU_招投标_HTML)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "8feded87",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "hello world!\n"
     ]
    }
   ],
   "source": [
    "### 三个引号来代码注释\n",
    "\n",
    "import random\n",
    "import time\n",
    "\n",
    "\n",
    "南方学院学校要闻 = \"https://www.nfu.edu.cn/xxyw/index\"\n",
    "页面后缀 = \".htm\"\n",
    "page = 5\n",
    "\n",
    "\"\"\"\n",
    "for i in range(page):\n",
    "    print(南方学院学校要闻 + str(i) + 页面后缀)  # 字符串拼接\n",
    "    random_num = random.randint(1,10)\n",
    "    print(\"该次停留\",random_num,'秒')\n",
    "    time.sleep(random_num)\n",
    "\"\"\"\n",
    "\n",
    "print(\"hello world!\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f17baf3f",
   "metadata": {},
   "source": [
    "### 2.1 字符串的运算法则\n",
    "\n",
    "> 1.字符串的拼接   \n",
    "> 2.<font color=\"skyblue\">字符串的有序性</font>\n",
    ">> a.取值\n",
    ">> b.切片\n",
    "> 3.enumerate:枚举\n",
    "> 4. in 可以查询成员对象是否存在"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "1e1ca921",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 字符串的拼接\n",
    "\"hello\" + \"world\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "790f688c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "你好，Alex\n",
      "你好，Marry\n"
     ]
    }
   ],
   "source": [
    "# 实践\n",
    "text= \"你好，\"\n",
    "for i in [\"Alex\",\"Marry\"]:\n",
    "    result=text+i\n",
    "    print(result)\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2c4fd705",
   "metadata": {},
   "source": [
    "* 取值\n",
    "> 1.取单个值  \n",
    "> 2.切片，取多个连续的值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "4300d31d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 字符串的有序性\n",
    "地址 = \"广州市从化区温泉大道882号南方学院\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "ff7e905e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广'"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "bbccee70",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'市'"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "21b2ebf5",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'学'"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[-2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "d44147d3",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'广州'"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[0:2]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "5851c688",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'从化区'"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "地址[3:6]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "id": "fa491954",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "存在 广州 这个文本\n"
     ]
    }
   ],
   "source": [
    "# 实践：请检查 广州是否在 地址 里面？\n",
    "# 检查 i [index]是否是广，然后判断 i [index+1]下一个值是否是州？\n",
    "\n",
    "# 方法1：enumerate:枚举\n",
    "for index,value in enumerate(地址):\n",
    "    if value == \"广\":\n",
    "        if 地址[index+1] == \"州\":\n",
    "            print(\"存在 广州 这个文本\")\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "id": "cf95a805",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 方法2：in 是可以查询成员变量的\n",
    "\"广州\" in 地址\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "id": "7693c082",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\"ALEX\" in 地址"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4af4f822",
   "metadata": {},
   "outputs": [],
   "source": [
    "# 回去 课后 学习 字符串方法：\n",
    "## 1.首字母变大写 capitalize（）\n",
    "## 2.检查字符出现的次数\n",
    "\n",
    "地址"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
